select 
CONCAT(CONCAT ('IT018E',SUBSTR(CONCAT('0000000',trim(forn.codice_allacciamento)),-7,7)),SUBSTR(forn.PROGRESSIVO_UTENZA,-1,1)) "POD",
contratti.codice_utente  "Codice Cliente",
contratti.codice_contratto,
contratti.CODICE_GRUPPO_BOLLETTAZIONE "Gruppo Bollettazione",
persone.codice_persona "Codice utilizzatore",
persone.nominativo_rag_soc "Denominazione",
substr(concat('0000000000',persone.partita_iva),-11,11)  "Partita Iva",
persone.codice_fiscale "Codice Fiscale",
--concat(
--concat(
--concat(concat(TRim(indirizzi.toponimo_via),' '),
--concat(TRim(indirizzi.prefisso_via), ' ')),
--concat(TRim(indirizzi.denominazione_via),' ')),
       --TRim(TO_CHAR(indirizzi.civico))) "Indirizzo punto di prelievo",
-- case when gruppi.raggrupp_riepfatt like '%DOMEST%' then 'DOMESTICO' else 
 contratti_aggregazioni.codice_persona_titolare "Codice Titolare",
       perso.nominativo_rag_soc "Denominazione Titolare",
       substr(concat('0000000000',perso.partita_iva),-11,11) "Partita Iva Titolare",
forn.FATTORE_CORRETTIVO "Costante K",   
 contratti.potenza_impegnata "Potenza Impegnata",
      contratti.POTENZA_TOLLERATA "POT DISP",
      MC.VOLTAGGIO_MINIMO,
      cm.codice_modello_contatore,
      cm.matricola_contatore,
      cm.codice_movimento,
      cm.data_movimento,
decode(cm.LETTURA,0,'',cm.lettura) lettura_c1,
decode(ls.LETTURA_c2,0,'',ls.lettura_c2) lettura_c2,
decode(ls.LETTURA_c3,0,'',ls.lettura_c3) lettura_c3,
decode(ls.LETTURA_r1,0,'',ls.lettura_r1) lettura_r1,
decode(ls.LETTURA_r2,0,'',ls.lettura_r2) lettura_r2,
decode(ls.LETTURA_r3,0,'',ls.lettura_r3) lettura_r3,
decode(cm.consumo,0,'',cm.consumo) consumo_c1,
decode(ls.consumo_c2,0,'',ls.consumo_c2) consumo_c2,
decode(ls.consumo_c3,0,'',ls.consumo_c3) consumo_c3,
decode(ls.consumo_r1,0,'',ls.consumo_r1) consumo_r1,
decode(ls.consumo_r2,0,'',ls.consumo_r2) consumo_r2,
decode(ls.consumo_r3,0,'',ls.consumo_r3) consumo_r3,
decode(ls.indice_massima_1,0,'',ls.indice_massima_1) indice_massima_1,
decode(ls.indice_massima_2,0,'',ls.indice_massima_2) indice_massima_2,
decode(ls.indice_massima_3,0,'',ls.indice_massima_3) indice_massima_3
     
 
from contratti,contatori_movimenti cm,contatori_movimenti_ls ls, 
     --indirizzi,
    persone perso,
       persone,
       contratti_aggregazioni,
       FORNITURE forn,
       MODELLI_CONTATORE MC
    
        
where  contratti.codice_gestione = 'ASM'
      and contratti.codice_servizio = 'E'
      and contratti_aggregazioni.codice_gestione = 'ASM'
      and contratti_aggregazioni.codice_utente = contratti.codice_utente
      and persone.codice_persona = contratti_aggregazioni.codice_persona_utilizzatore
      and forn.codice_gestione = 'ASM'
      and forn.codice_servizio = 'E'
      and forn.codice_contratto = contratti.codice_contratto
      --and indirizzi.codice_indirizzo=contratti_aggregazioni.codice_indirizzo_utilizzatore
      and perso.codice_persona = contratti_aggregazioni.codice_persona_titolare
      and forn.CODICE_contratto = cm.codice_contratto
      and forn.CODICE_ALLACCIAMENTO = cm.codice_allacciamento
      and forn.progressivo_utenza  = cm.progressivo_utenza
      and ls.CODICE_MODELLO_CONTATORE(+) = cm.CODICE_MODELLO_CONTATORE
      and ls.MATRICOLA_CONTATORE(+) = cm.MATRICOLA_CONTATORE
      and ls.PROGRESSIVO_MOVIMENTO(+) = cm.PROGRESSIVO_MOVIMENTO
      and ls.codice_servizio(+) = cm.codice_servizio
      and (cm.codice_modello_contatore in ('TM80,RT90,R790,R990') 
          OR cm.codice_modello_contatore LIKE 'M3%' 
          OR cm.codice_modello_contatore LIKE 'M2%' 
          OR cm.codice_modello_contatore LIKE 'M4%')
      AND MC.CODICE_MODELLO_CONTATORE = CM.CODICE_MODELLO_CONTATORE
      and cm.LETTURA <> 0
      and cm.data_movimento >= to_date(^Data movimento DA gg/mm/aaaa ;A;Alfanumerico^^,'dd/mm/YYYY')
       and cm.data_movimento <= to_date(^Data movimento A gg/mm/aaaa ;A;Alfanumerico^^,'dd/mm/YYYY')
       --and  cm.data_movimento = to_date('01/07/2010','dd/mm/YYYY')
      order by perso.nominativo_rag_soc,
      CONCAT(CONCAT ('IT018E',SUBSTR(CONCAT('0000000',trim(forn.codice_allacciamento)),-7,7)),SUBSTR(forn.PROGRESSIVO_UTENZA,-1,1)),
      cm.data_movimento
      
      
      
      
     
  